package VN.EDU.IMIC.PROJECTLEADER.NGUYENVANDOAN.OOP;

public class Student {
    // 1. Datafield - Biến toàn cục
    private int RollNo;
    private String FullName;
    private double Mark;

    /*
     * void PhuongThuc01(){ RollNo = 1; FullName = "Nguyễn Văn A"; double Mark =
     * 9.5; } void PhuongThuc02(){ RollNo = 2; FullName = "Trần Thị B"; }
     */

    // 2. Hàm khởi dựng - Constructors
    /*
     * + Tên hàm phải trùng với tên lớp đối tượng. + Ko có giá trị trả về. + Mặc
     * định là public. + Khi lớp đối tượng ko định nghĩa hàm khởi dựng thì 1 hàm
     * khởi dựng ko tham số sẽ đc tạo ra ngầm định. + Đc khởi chạy đầu tiên nhất
     * khi đối tượng đc sinh ra. + Có 02 dạng hàm khởi dựng( có tham số & ko
     * tham số)
     */
    public Student() {
        // Khởi tạo giá trị mặc định
        RollNo = -1;
        FullName = "Example";
        Mark = 0;
    }

    public Student(int pRollNo, String FullName, double Mark) {
        // Khởi tạo giá trị theo tham số
        // <Biến toàn cục> = <Giá trị tham số>;
        RollNo = pRollNo;
        this.FullName = FullName;
        this.Mark = Mark;
    }

    // 3. Thuộc tính của đối tượng
    // a. Thuộc tính nhận giá trị của datafield
    public int getRollNo() {
        return RollNo;
    }

    // b. Thuộc tính thiết lập giá trị cho datafield
    public void setRollNo(int RollNo) {
        this.RollNo = RollNo;
    }

    // c. Sử dụng cơ chế tự sinh ra các thuộc tính dựa vào datafield
    // alt + shift + s --> r
    /**
     * @return the fullName
     */
    public String getFullName() {
        return FullName;
    }

    /**
     * @param fullName the fullName to set
     */
    public void setFullName(String fullName) {
        FullName = fullName;
    }

    /**
     * @return the mark
     */
    public double getMark() {
        return Mark;
    }

    /**
     * @param mark the mark to set
     */
    public void setMark(double mark) {
        Mark = mark;
    }

    // 4. Hành vi của đối tượng
    public String Bay(int kilomet) {
        return "Bay với tốc độ: " + kilomet;
    }
}
